import { request } from '@/utils'

// 抽离出的公用代码，凡是需要加载数据的，都需要这些步骤
// 可以是配置对象，也可以是函数（要返回配置对象）
export default function ({
    url,
    type = 'get',
    data_name = 'data',
    data_value = [],
    is_loading = 'is_loading',
    params = {}
}) {    // 通过 mixins 混入其他组件
    return {
        data() {
            return {
                [is_loading]: true,
                [data_name]: data_value
            }
        },
        created() {
            request[type](url, params).then(data => {
                this[data_name] = data
                this[is_loading] = false
            })
        }
    }
}